package com.gitee.wsl.mathematics.geometry.d2.contour

import com.gitee.wsl.mathematics.geometry.d2.contour.segment.Segment2D
import com.gitee.wsl.mathematics.vector.vec2.Vec2f


/**
 * Representation of a point on a [ShapeContour].
 *
 * @param contour The [ShapeContour] on which the point lies.
 * @param contourT The [t](https://pomax.github.io/bezierinfo/#explanation) value of the point on the [ShapeContour] in the range of `0.0` to `1.0`.
 * @param segment The [Segment2D] on which the point lies.
 * @param segmentT The *t* value of the point on the [Segment2D] in the range of `0.0` to `1.0`.
 * @param position The position of the point.
 */

data class ContourPoint(
    val contour: ShapeContour,
    val contourT: Double,
    val segment: Segment2D,
    val segmentT: Double,
    val position: Vec2f
)